package compra.steps;

import compra.fake.Solicitacao;

import controlador.npws.Atributos;
import controlador.npws.DataHolder;
import controlador.npws.Passo;
import controlador.npws.PassoNpdl;

public class RuleDadosValidos extends Passo {

	private int regraFalsa = 0;

	private int regraVerdadeira = 1;

	private int statusDaRegra = regraVerdadeira;

	public RuleDadosValidos(PassoNpdl passoNpdl) {
		super(passoNpdl);
	}

	public void avaliaPasso(Object obj) {
		DataHolder holder = (DataHolder) obj;

		Solicitacao solicitacao = (Solicitacao)holder.getDado(Atributos.solicitacao);
		
		if (solicitacao.getISBN() != "" && solicitacao.getISBN() != null
				&& solicitacao.getQuantidade() != 0 && solicitacao.getTitulo() != ""
					&& solicitacao.getTitulo() != null) {
			this.statusDaRegra = this.regraVerdadeira;
		}
		else {
			this.statusDaRegra = this.regraFalsa;
		}
		
	}

	public void executaPasso() {
		(super.passo).executeRule(super.passoId, super.instanciaId,
				statusDaRegra);
	}
	
}
